home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 12 / BBS in a box XII-2.iso / Files II / Prog / T / TIFF Code.sit / td.c < prev    next >
MacBinary  |  1987-12-16  |  10.8 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: td.c

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
10% dexvert Jesper Olsen Module (music/jesperOlsen) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file TTComp archive data, binary, 1K dictionary default (weak)
99% file MacBinary II, Wed Dec 16 13:53:06 1987, modified Wed Dec 16 13:53:06 1987, creator 'MPS ', type ASCII, 10371 bytes "td.c" magic text fragment for file(1) cmd, 1st line "#include <types.h>", 2nd line "#include <stdio.h>", 3rd line "", 4th line "#include "::TiffLibrary:tifflib.h"", 5th line "#include "td.h"", at 0x2903 382 bytes resource magic text fragment for file(1) cmd, 1st line "#include <types.h>", 2nd line "#include <stdio.h>", 3rd line "", 4th line "#include "::TiffLibrary:tifflib.h"", 5th line "#include "td.h"" default (weak)
98% file data default
49% TrID Macintosh plain text (MacBinary) default
33% TrID TTComp archive compressed (bin-1K) default (weak)
16% TrID MacBinary 2 default (weak)
0% TrID Sybase iAnywhere database files default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 04 74 64 2e 63 00 00 | 00 00 00 00 00 00 00 00 |..td.c..|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 00 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 28 83 00 | 00 01 7e 9d ec 87 12 9d |.....(..|..~.....|
|00000060| ec 87 12 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 d5 3c 00 00 |........|.....<..|
|00000080| 23 69 6e 63 6c 75 64 65 | 20 3c 74 79 70 65 73 2e |#include| <types.|
|00000090| 68 3e 0d 23 69 6e 63 6c | 75 64 65 20 3c 73 74 64 |h>.#incl|ude <std|
|000000a0| 69 6f 2e 68 3e 0d 0d 23 | 69 6e 63 6c 75 64 65 20 |io.h>..#|include |
|000000b0| 22 3a 3a 54 69 66 66 4c | 69 62 72 61 72 79 3a 74 |"::TiffL|ibrary:t|
|000000c0| 69 66 66 6c 69 62 2e 68 | 22 0d 23 69 6e 63 6c 75 |ifflib.h|".#inclu|
|000000d0| 64 65 20 22 74 64 2e 68 | 22 0d 0d 63 68 61 72 09 |de "td.h|"..char.|
|000000e0| 09 09 2a 74 61 67 4e 61 | 6d 65 28 29 3b 0d 63 68 |..*tagNa|me();.ch|
|000000f0| 61 72 09 09 09 2a 74 79 | 70 65 4e 61 6d 65 28 29 |ar...*ty|peName()|
|00000100| 3b 0d 75 6e 73 69 67 6e | 65 64 20 73 68 6f 72 74 |;.unsign|ed short|
|00000110| 09 53 77 61 70 53 68 6f | 72 74 42 79 74 65 73 28 |.SwapSho|rtBytes(|
|00000120| 29 3b 0d 75 6e 73 69 67 | 6e 65 64 20 6c 6f 6e 67 |);.unsig|ned long|
|00000130| 09 53 77 61 70 4c 6f 6e | 67 42 79 74 65 73 28 29 |.SwapLon|gBytes()|
|00000140| 3b 0d 63 68 61 72 09 09 | 09 2a 67 65 74 68 65 78 |;.char..|.*gethex|
|00000150| 28 29 3b 0d 63 68 61 72 | 09 09 09 68 65 78 28 29 |();.char|...hex()|
|00000160| 3b 0d 0d 63 68 61 72 09 | 09 09 2a 70 67 72 6d 3b |;..char.|..*pgrm;|
|00000170| 0d 63 68 61 72 09 09 09 | 2a 66 69 6c 65 6e 61 6d |.char...|*filenam|
|00000180| 65 3b 0d 0d 54 69 66 66 | 48 65 61 64 65 72 09 09 |e;..Tiff|Header..|
|00000190| 68 65 61 64 65 72 3b 0d | 42 6f 6f 6c 65 61 6e 09 |header;.|Boolean.|
|000001a0| 09 09 73 77 61 70 42 79 | 74 65 73 3b 0d 0d 6d 61 |..swapBy|tes;..ma|
|000001b0| 69 6e 28 61 72 67 63 2c | 20 61 72 67 76 29 0d 69 |in(argc,| argv).i|
|000001c0| 6e 74 20 61 72 67 63 3b | 0d 63 68 61 72 20 2a 61 |nt argc;|.char *a|
|000001d0| 72 67 76 5b 5d 3b 0d 7b | 0d 09 69 6e 74 09 09 66 |rgv[];.{|..int..f|
|000001e0| 64 3b 0d 09 49 6e 74 31 | 36 09 69 66 64 43 6f 75 |d;..Int1|6.ifdCou|
|000001f0| 6e 74 3b 0d 09 69 6e 74 | 09 09 69 66 64 4f 66 66 |nt;..int|..ifdOff|
|00000200| 73 65 74 3b 0d 09 69 6e | 74 09 09 69 66 64 4e 75 |set;..in|t..ifdNu|
|00000210| 6d 3b 0d 09 0d 09 70 67 | 72 6d 20 3d 20 61 72 67 |m;....pg|rm = arg|
|00000220| 76 5b 30 5d 3b 0d 09 69 | 66 20 28 61 72 67 63 20 |v[0];..i|f (argc |
|00000230| 21 3d 20 32 29 20 7b 0d | 09 09 66 70 72 69 6e 74 |!= 2) {.|..fprint|
|00000240| 66 28 73 74 64 65 72 72 | 2c 20 22 75 73 61 67 65 |f(stderr|, "usage|
|00000250| 3a 20 25 73 20 66 69 6c | 65 5c 6e 22 2c 20 61 72 |: %s fil|e\n", ar|
|00000260| 67 76 5b 30 5d 29 3b 0d | 09 09 65 78 69 74 28 31 |gv[0]);.|..exit(1|
|00000270| 29 3b 0d 09 7d 0d 09 66 | 69 6c 65 6e 61 6d 65 20 |);..}..f|ilename |
|00000280| 3d 20 61 72 67 76 5b 31 | 5d 3b 0d 09 0d 09 69 66 |= argv[1|];....if|
|00000290| 20 28 28 66 64 20 3d 20 | 6f 70 65 6e 28 66 69 6c | ((fd = |open(fil|
|000002a0| 65 6e 61 6d 65 2c 20 30 | 29 29 20 3c 20 30 29 20 |ename, 0|)) < 0) |
|000002b0| 7b 0d 09 09 66 70 72 69 | 6e 74 66 28 73 74 64 65 |{...fpri|ntf(stde|
|000002c0| 72 72 2c 20 22 25 73 3a | 20 63 61 6e 27 74 20 6f |rr, "%s:| can't o|
|000002d0| 70 65 6e 20 25 73 5c 6e | 22 2c 20 70 67 72 6d 2c |pen %s\n|", pgrm,|
|000002e0| 20 66 69 6c 65 6e 61 6d | 65 29 3b 0d 09 09 65 78 | filenam|e);...ex|
|000002f0| 69 74 28 31 29 3b 0d 09 | 7d 0d 09 69 66 20 28 72 |it(1);..|}..if (r|
|00000300| 65 61 64 28 66 64 2c 20 | 26 68 65 61 64 65 72 2c |ead(fd, |&header,|
|00000310| 20 73 69 7a 65 6f 66 28 | 68 65 61 64 65 72 29 29 | sizeof(|header))|
|00000320| 20 21 3d 20 73 69 7a 65 | 6f 66 28 68 65 61 64 65 | != size|of(heade|
|00000330| 72 29 29 20 7b 0d 09 09 | 66 70 72 69 6e 74 66 28 |r)) {...|fprintf(|
|00000340| 73 74 64 65 72 72 2c 20 | 22 25 73 3a 20 63 61 6e |stderr, |"%s: can|
|00000350| 27 74 20 72 65 61 64 20 | 25 73 5c 6e 22 2c 20 70 |'t read |%s\n", p|
|00000360| 67 72 6d 2c 20 66 69 6c | 65 6e 61 6d 65 29 3b 0d |grm, fil|ename);.|
|00000370| 09 09 65 78 69 74 28 31 | 29 3b 0d 09 7d 0d 09 69 |..exit(1|);..}..i|
|00000380| 66 20 28 68 65 61 64 65 | 72 2e 62 79 74 65 4f 72 |f (heade|r.byteOr|
|00000390| 64 65 72 20 3d 3d 20 49 | 4e 54 45 4c 29 20 7b 0d |der == I|NTEL) {.|
|000003a0| 09 09 73 77 61 70 42 79 | 74 65 73 20 3d 20 74 72 |..swapBy|tes = tr|
|000003b0| 75 65 3b 0d 09 09 68 65 | 61 64 65 72 2e 76 65 72 |ue;...he|ader.ver|
|000003c0| 73 69 6f 6e 20 3d 20 53 | 77 61 70 53 68 6f 72 74 |sion = S|wapShort|
|000003d0| 42 79 74 65 73 28 68 65 | 61 64 65 72 2e 76 65 72 |Bytes(he|ader.ver|
|000003e0| 73 69 6f 6e 29 3b 0d 09 | 09 68 65 61 64 65 72 2e |sion);..|.header.|
|000003f0| 64 69 72 4f 66 66 73 65 | 74 20 3d 20 53 77 61 70 |dirOffse|t = Swap|
|00000400| 4c 6f 6e 67 42 79 74 65 | 73 28 68 65 61 64 65 72 |LongByte|s(header|
|00000410| 2e 64 69 72 4f 66 66 73 | 65 74 29 3b 0d 09 7d 0d |.dirOffs|et);..}.|
|00000420| 09 65 6c 73 65 0d 09 09 | 73 77 61 70 42 79 74 65 |.else...|swapByte|
|00000430| 73 20 3d 20 66 61 6c 73 | 65 3b 0d 09 09 0d 09 70 |s = fals|e;.....p|
|00000440| 72 69 6e 74 66 28 22 5c | 6e 54 49 46 46 20 46 49 |rintf("\|nTIFF FI|
|00000450| 4c 45 20 25 73 3a 5c 6e | 5c 6e 48 65 61 64 65 72 |LE %s:\n|\nHeader|
|00000460| 3a 5c 6e 5c 6e 22 2c 20 | 66 69 6c 65 6e 61 6d 65 |:\n\n", |filename|
|00000470| 29 3b 0d 09 70 72 69 6e | 74 66 28 22 5c 74 62 79 |);..prin|tf("\tby|
|00000480| 74 65 6f 72 64 65 72 3d | 27 25 63 25 63 27 28 30 |teorder=|'%c%c'(0|
|00000490| 78 25 58 29 5c 6e 5c 74 | 76 65 72 73 69 6f 6e 3d |x%X)\n\t|version=|
|000004a0| 25 64 28 30 78 25 58 29 | 5c 6e 5c 74 64 69 72 4f |%d(0x%X)|\n\tdirO|
|000004b0| 66 66 73 65 74 3d 30 78 | 25 6c 58 5c 6e 22 2c 0d |ffset=0x|%lX\n",.|
|000004c0| 09 09 09 68 65 61 64 65 | 72 2e 62 79 74 65 4f 72 |...heade|r.byteOr|
|000004d0| 64 65 72 2c 0d 09 09 09 | 68 65 61 64 65 72 2e 62 |der,....|header.b|
|000004e0| 79 74 65 4f 72 64 65 72 | 2c 20 68 65 61 64 65 72 |yteOrder|, header|
|000004f0| 2e 62 79 74 65 4f 72 64 | 65 72 20 3e 3e 20 38 2c |.byteOrd|er >> 8,|
|00000500| 0d 09 09 09 68 65 61 64 | 65 72 2e 76 65 72 73 69 |....head|er.versi|
|00000510| 6f 6e 2c 0d 09 09 09 68 | 65 61 64 65 72 2e 76 65 |on,....h|eader.ve|
|00000520| 72 73 69 6f 6e 2c 0d 09 | 09 09 68 65 61 64 65 72 |rsion,..|..header|
|00000530| 2e 64 69 72 4f 66 66 73 | 65 74 29 3b 0d 09 0d 09 |.dirOffs|et);....|
|00000540| 69 66 64 4f 66 66 73 65 | 74 20 3d 20 68 65 61 64 |ifdOffse|t = head|
|00000550| 65 72 2e 64 69 72 4f 66 | 66 73 65 74 3b 0d 09 66 |er.dirOf|fset;..f|
|00000560| 6f 72 20 28 69 66 64 4e | 75 6d 20 3d 20 30 3b 20 |or (ifdN|um = 0; |
|00000570| 69 66 64 4f 66 66 73 65 | 74 20 21 3d 20 30 3b 20 |ifdOffse|t != 0; |
|00000580| 69 66 64 4e 75 6d 2b 2b | 29 0d 09 09 69 66 64 4f |ifdNum++|)...ifdO|
|00000590| 66 66 73 65 74 20 3d 20 | 72 65 61 64 49 46 44 28 |ffset = |readIFD(|
|000005a0| 66 64 2c 20 69 66 64 4f | 66 66 73 65 74 29 3b 0d |fd, ifdO|ffset);.|
|000005b0| 09 0d 09 63 6c 6f 73 65 | 28 66 64 29 3b 0d 7d 0d |...close|(fd);.}.|
|000005c0| 0d 49 6e 74 33 32 20 72 | 65 61 64 49 46 44 28 66 |.Int32 r|eadIFD(f|
|000005d0| 64 2c 20 69 66 64 4f 66 | 66 73 65 74 29 0d 49 6e |d, ifdOf|fset).In|
|000005e0| 74 33 32 09 69 66 64 4f | 66 66 73 65 74 3b 0d 7b |t32.ifdO|ffset;.{|
|000005f0| 0d 09 75 6e 73 69 67 6e | 65 64 20 63 68 61 72 09 |..unsign|ed char.|
|00000600| 2a 70 42 79 74 65 3b 0d | 09 69 6e 74 09 09 09 09 |*pByte;.|.int....|
|00000610| 69 3b 0d 09 55 49 6e 74 | 31 36 09 09 09 69 66 64 |i;..UInt|16...ifd|
|00000620| 43 6f 75 6e 74 2c 0d 09 | 09 09 09 09 2a 70 53 68 |Count,..|....*pSh|
|00000630| 6f 72 74 3b 0d 09 54 69 | 66 66 44 69 72 45 6e 74 |ort;..Ti|ffDirEnt|
|00000640| 72 79 09 69 66 64 45 6e | 74 72 79 3b 0d 09 55 49 |ry.ifdEn|try;..UI|
|00000650| 6e 74 33 32 09 09 09 6f | 66 66 73 65 74 3b 0d 0d |nt32...o|ffset;..|
|00000660| 09 69 66 20 28 6c 73 65 | 65 6b 28 66 64 2c 20 69 |.if (lse|ek(fd, i|
|00000670| 66 64 4f 66 66 73 65 74 | 2c 20 30 29 20 3c 20 30 |fdOffset|, 0) < 0|
|00000680| 29 20 7b 0d 09 09 66 70 | 72 69 6e 74 66 28 73 74 |) {...fp|rintf(st|
|00000690| 64 65 72 72 2c 20 22 25 | 73 3a 20 73 65 65 6b 20 |derr, "%|s: seek |
|000006a0| 65 72 72 6f 72 3a 20 25 | 73 5c 6e 22 2c 20 70 67 |error: %|s\n", pg|
|000006b0| 72 6d 2c 20 66 69 6c 65 | 6e 61 6d 65 29 3b 0d 09 |rm, file|name);..|
|000006c0| 09 65 78 69 74 28 31 29 | 3b 0d 09 7d 0d 09 72 65 |.exit(1)|;..}..re|
|000006d0| 61 64 53 68 6f 72 74 28 | 66 64 2c 20 26 69 66 64 |adShort(|fd, &ifd|
|000006e0| 43 6f 75 6e 74 29 3b 0d | 09 70 72 69 6e 74 66 28 |Count);.|.printf(|
|000006f0| 22 5c 6e 49 46 44 3a 20 | 30 78 25 58 28 25 64 2e |"\nIFD: |0x%X(%d.|
|00000700| 29 20 65 6e 74 72 69 65 | 73 20 40 30 78 25 6c 58 |) entrie|s @0x%lX|
|00000710| 3a 5c 6e 5c 6e 22 2c 0d | 09 09 69 66 64 43 6f 75 |:\n\n",.|..ifdCou|
|00000720| 6e 74 2c 0d 09 09 69 66 | 64 43 6f 75 6e 74 2c 0d |nt,...if|dCount,.|
|00000730| 09 09 69 66 64 4f 66 66 | 73 65 74 29 3b 0d 09 66 |..ifdOff|set);..f|
|00000740| 6f 72 20 28 69 20 3d 20 | 30 3b 20 69 20 3c 20 69 |or (i = |0; i < i|
|00000750| 66 64 43 6f 75 6e 74 3b | 20 69 2b 2b 29 20 7b 0d |fdCount;| i++) {.|
|00000760| 09 09 69 66 20 28 72 65 | 61 64 28 66 64 2c 20 26 |..if (re|ad(fd, &|
|00000770| 69 66 64 45 6e 74 72 79 | 2c 20 73 69 7a 65 6f 66 |ifdEntry|, sizeof|
|00000780| 28 69 66 64 45 6e 74 72 | 79 29 29 20 21 3d 20 73 |(ifdEntr|y)) != s|
|00000790| 69 7a 65 6f 66 28 69 66 | 64 45 6e 74 72 79 29 29 |izeof(if|dEntry))|
|000007a0| 20 7b 0d 09 09 09 66 70 | 72 69 6e 74 66 28 73 74 | {....fp|rintf(st|
|000007b0| 64 65 72 72 2c 20 22 25 | 73 3a 20 72 65 61 64 20 |derr, "%|s: read |
|000007c0| 65 72 72 6f 72 3a 20 25 | 73 5c 6e 22 2c 20 70 67 |error: %|s\n", pg|
|000007d0| 72 6d 2c 20 66 69 6c 65 | 6e 61 6d 65 29 3b 0d 09 |rm, file|name);..|
|000007e0| 09 09 65 78 69 74 28 31 | 29 3b 0d 09 09 7d 0d 09 |..exit(1|);...}..|
|000007f0| 09 69 66 20 28 73 77 61 | 70 42 79 74 65 73 29 20 |.if (swa|pBytes) |
|00000800| 7b 0d 09 09 09 69 66 64 | 45 6e 74 72 79 2e 74 61 |{....ifd|Entry.ta|
|00000810| 67 20 3d 20 53 77 61 70 | 53 68 6f 72 74 42 79 74 |g = Swap|ShortByt|
|00000820| 65 73 28 69 66 64 45 6e | 74 72 79 2e 74 61 67 29 |es(ifdEn|try.tag)|
|00000830| 3b 0d 09 09 09 69 66 64 | 45 6e 74 72 79 2e 74 79 |;....ifd|Entry.ty|
|00000840| 70 65 20 3d 20 53 77 61 | 70 53 68 6f 72 74 42 79 |pe = Swa|pShortBy|
|00000850| 74 65 73 28 69 66 64 45 | 6e 74 72 79 2e 74 79 70 |tes(ifdE|ntry.typ|
|00000860| 65 29 3b 0d 09 09 09 69 | 66 64 45 6e 74 72 79 2e |e);....i|fdEntry.|
|00000870| 6c 65 6e 67 74 68 20 3d | 20 53 77 61 70 4c 6f 6e |length =| SwapLon|
|00000880| 67 42 79 74 65 73 28 69 | 66 64 45 6e 74 72 79 2e |gBytes(i|fdEntry.|
|00000890| 6c 65 6e 67 74 68 29 3b | 0d 09 09 09 69 66 20 28 |length);|....if (|
|000008a0| 20 28 28 69 66 64 45 6e | 74 72 79 2e 6c 65 6e 67 | ((ifdEn|try.leng|
|000008b0| 74 68 20 2a 20 74 79 70 | 65 53 69 7a 65 28 69 66 |th * typ|eSize(if|
|000008c0| 64 45 6e 74 72 79 2e 74 | 79 70 65 29 29 20 3e 20 |dEntry.t|ype)) > |
|000008d0| 34 29 20 7c 7c 0d 09 09 | 09 09 20 28 69 66 64 45 |4) ||...|.. (ifdE|
|000008e0| 6e 74 72 79 2e 74 79 70 | 65 20 3d 3d 20 4c 4f 4e |ntry.typ|e == LON|
|000008f0| 47 29 20 29 20 7b 0d 09 | 09 09 09 2f 2a 20 69 74 |G) ) {..|.../* it|
|00000900| 27 73 20 61 20 6c 6f 6e | 67 20 76 61 6c 75 65 20 |'s a lon|g value |
|00000910| 6f 72 20 61 20 6c 6f 6e | 67 20 6f 66 66 73 65 74 |or a lon|g offset|
|00000920| 20 73 6f 20 73 77 61 70 | 20 69 74 20 2a 2f 0d 09 | so swap| it */..|
|00000930| 09 09 09 69 66 64 45 6e | 74 72 79 2e 76 61 6c 75 |...ifdEn|try.valu|
|00000940| 65 4f 66 66 73 65 74 20 | 3d 20 53 77 61 70 4c 6f |eOffset |= SwapLo|
|00000950| 6e 67 42 79 74 65 73 28 | 69 66 64 45 6e 74 72 79 |ngBytes(|ifdEntry|
|00000960| 2e 76 61 6c 75 65 4f 66 | 66 73 65 74 29 3b 0d 09 |.valueOf|fset);..|
|00000970| 09 09 7d 0d 09 09 09 65 | 6c 73 65 20 69 66 20 28 |..}....e|lse if (|
|00000980| 69 66 64 45 6e 74 72 79 | 2e 74 79 70 65 20 3d 3d |ifdEntry|.type ==|
|00000990| 20 53 48 4f 52 54 29 20 | 7b 0d 09 09 09 09 2f 2a | SHORT) |{...../*|
|000009a0| 20 69 74 27 73 20 65 69 | 74 68 65 72 20 6f 6e 65 | it's ei|ther one|
|000009b0| 20 6f 72 20 74 77 6f 20 | 73 68 6f 72 74 73 2c 20 | or two |shorts, |
|000009c0| 73 77 61 70 20 62 6f 74 | 68 20 61 6e 79 77 61 79 |swap bot|h anyway|
|000009d0| 20 2a 2f 0d 09 09 09 09 | 70 53 68 6f 72 74 20 3d | */.....|pShort =|
|000009e0| 20 28 49 6e 74 31 36 20 | 2a 29 26 69 66 64 45 6e | (Int16 |*)&ifdEn|
|000009f0| 74 72 79 2e 76 61 6c 75 | 65 4f 66 66 73 65 74 3b |try.valu|eOffset;|
|00000a00| 0d 09 09 09 09 2a 70 53 | 68 6f 72 74 2b 2b 20 3d |.....*pS|hort++ =|
|00000a10| 20 53 77 61 70 53 68 6f | 72 74 42 79 74 65 73 28 | SwapSho|rtBytes(|
|00000a20| 2a 70 53 68 6f 72 74 29 | 3b 0d 09 09 09 09 2a 70 |*pShort)|;.....*p|
|00000a30| 53 68 6f 72 74 20 20 20 | 3d 20 53 77 61 70 53 68 |Short |= SwapSh|
|00000a40| 6f 72 74 42 79 74 65 73 | 28 2a 70 53 68 6f 72 74 |ortBytes|(*pShort|
|00000a50| 29 3b 0d 09 09 09 7d 0d | 09 09 09 2f 2a 20 65 6c |);....}.|.../* el|
|00000a60| 73 65 20 74 79 70 65 20 | 6d 75 73 74 20 62 65 20 |se type |must be |
|00000a70| 42 59 54 45 20 6f 72 20 | 41 53 43 49 49 20 73 6f |BYTE or |ASCII so|
|00000a80| 20 6e 6f 77 20 73 77 61 | 70 20 6e 65 65 64 65 64 | now swa|p needed|
|00000a90| 20 2a 2f 0d 09 09 7d 0d | 09 09 70 72 69 6e 74 66 | */...}.|..printf|
|00000aa0| 28 22 25 73 20 25 33 6c | 64 20 25 73 3a 22 2c 0d |("%s %3l|d %s:",.|
|00000ab0| 09 09 09 74 61 67 4e 61 | 6d 65 28 69 66 64 45 6e |...tagNa|me(ifdEn|
|00000ac0| 74 72 79 2e 74 61 67 29 | 2c 20 69 66 64 45 6e 74 |try.tag)|, ifdEnt|
|00000ad0| 72 79 2e 6c 65 6e 67 74 | 68 2c 20 74 79 70 65 4e |ry.lengt|h, typeN|
|00000ae0| 61 6d 65 28 69 66 64 45 | 6e 74 72 79 2e 74 79 70 |ame(ifdE|ntry.typ|
|00000af0| 65 29 29 3b 0d 09 09 70 | 72 69 6e 74 56 61 6c 75 |e));...p|rintValu|
|00000b00| 65 28 66 64 2c 20 69 66 | 64 45 6e 74 72 79 2e 74 |e(fd, if|dEntry.t|
|00000b10| 79 70 65 2c 20 69 66 64 | 45 6e 74 72 79 2e 6c 65 |ype, ifd|Entry.le|
|00000b20| 6e 67 74 68 2c 20 69 66 | 64 45 6e 74 72 79 2e 76 |ngth, if|dEntry.v|
|00000b30| 61 6c 75 65 4f 66 66 73 | 65 74 29 3b 0d 09 7d 0d |alueOffs|et);..}.|
|00000b40| 09 72 65 61 64 4c 6f 6e | 67 28 66 64 2c 20 26 69 |.readLon|g(fd, &i|
|00000b50| 66 64 4f 66 66 73 65 74 | 29 3b 0d 09 72 65 74 75 |fdOffset|);..retu|
|00000b60| 72 6e 28 69 66 64 4f 66 | 66 73 65 74 29 3b 0d 7d |rn(ifdOf|fset);.}|
|00000b70| 0d 0d 70 72 69 6e 74 56 | 61 6c 75 65 28 66 64 2c |..printV|alue(fd,|
|00000b80| 20 74 79 70 65 2c 20 6c | 65 6e 67 74 68 2c 20 6f | type, l|ength, o|
|00000b90| 66 66 73 65 74 29 0d 69 | 6e 74 09 09 66 64 3b 0d |ffset).i|nt..fd;.|
|00000ba0| 55 49 6e 74 31 36 09 74 | 79 70 65 3b 0d 55 49 6e |UInt16.t|ype;.UIn|
|00000bb0| 74 33 32 09 6c 65 6e 67 | 74 68 2c 20 6f 66 66 73 |t32.leng|th, offs|
|00000bc0| 65 74 3b 0d 7b 0d 09 73 | 74 61 74 69 63 20 63 68 |et;.{..s|tatic ch|
|00000bd0| 61 72 09 09 62 75 66 5b | 38 30 5d 3b 0d 09 75 6e |ar..buf[|80];..un|
|00000be0| 73 69 67 6e 65 64 20 63 | 68 61 72 20 09 2a 70 3b |signed c|har .*p;|
|00000bf0| 0d 09 75 6e 73 69 67 6e | 65 64 20 63 68 61 72 09 |..unsign|ed char.|
|00000c00| 42 79 74 65 3b 0d 09 75 | 6e 73 69 67 6e 65 64 20 |Byte;..u|nsigned |
|00000c10| 73 68 6f 72 74 09 53 68 | 6f 72 74 3b 0d 09 75 6e |short.Sh|ort;..un|
|00000c20| 73 69 67 6e 65 64 20 6c | 6f 6e 67 09 4c 6f 6e 67 |signed l|ong.Long|
|00000c30| 3b 0d 09 52 61 74 69 6f | 6e 61 6c 09 09 52 61 74 |;..Ratio|nal..Rat|
|00000c40| 3b 0d 09 69 6e 74 09 09 | 09 09 73 69 7a 65 3b 0d |;..int..|..size;.|
|00000c50| 09 55 49 6e 74 33 32 09 | 09 09 6e 2c 20 6f 6c 64 |.UInt32.|..n, old|
|00000c60| 4f 66 66 73 65 74 3b 0d | 0d 09 73 69 7a 65 20 3d |Offset;.|..size =|
|00000c70| 20 74 79 70 65 53 69 7a | 65 28 74 79 70 65 29 3b | typeSiz|e(type);|
|00000c80| 0d 09 69 66 20 28 28 73 | 69 7a 65 20 2a 20 6c 65 |..if ((s|ize * le|
|00000c90| 6e 67 74 68 29 20 3c 3d | 20 34 29 20 7b 09 09 2f |ngth) <=| 4) {../|
|00000ca0| 2a 20 76 61 6c 75 65 28 | 73 29 20 69 6e 20 64 69 |* value(|s) in di|
|00000cb0| 72 65 63 74 6f 72 79 20 | 65 6e 74 72 79 20 2a 2f |rectory |entry */|
|00000cc0| 0d 09 09 69 66 20 28 74 | 79 70 65 20 3d 3d 20 41 |...if (t|ype == A|
|00000cd0| 53 43 49 49 29 0d 09 09 | 09 70 75 74 63 68 61 72 |SCII)...|.putchar|
|00000ce0| 28 27 22 27 29 3b 0d 09 | 09 66 6f 72 20 28 6e 20 |('"');..|.for (n |
|00000cf0| 3d 20 30 3b 20 6e 20 3c | 20 6c 65 6e 67 74 68 3b |= 0; n <| length;|
|00000d00| 20 6e 2b 2b 29 20 7b 20 | 0d 09 09 09 73 77 69 74 | n++) { |....swit|
|00000d10| 63 68 20 28 74 79 70 65 | 29 20 7b 0d 09 09 09 63 |ch (type|) {....c|
|00000d20| 61 73 65 20 42 59 54 45 | 3a 0d 09 09 09 09 70 72 |ase BYTE|:.....pr|
|00000d30| 69 6e 74 66 28 22 30 78 | 25 58 20 22 2c 09 28 69 |intf("0x|%X ",.(i|
|00000d40| 6e 74 29 28 20 28 28 75 | 6e 73 69 67 6e 65 64 20 |nt)( ((u|nsigned |
|00000d50| 63 68 61 72 20 20 2a 29 | 28 26 6f 66 66 73 65 74 |char *)|(&offset|
|00000d60| 29 29 5b 6e 5d 29 29 3b | 0d 09 09 09 09 62 72 65 |))[n]));|.....bre|
|00000d70| 61 6b 3b 0d 09 09 09 63 | 61 73 65 20 41 53 43 49 |ak;....c|ase ASCI|
|00000d80| 49 3a 0d 09 09 09 09 70 | 72 69 6e 74 66 28 22 25 |I:.....p|rintf("%|
|00000d90| 63 22 2c 09 28 69 6e 74 | 29 28 20 28 28 75 6e 73 |c",.(int|)( ((uns|
|00000da0| 69 67 6e 65 64 20 63 68 | 61 72 20 20 2a 29 28 26 |igned ch|ar *)(&|
|00000db0| 6f 66 66 73 65 74 29 29 | 5b 6e 5d 29 29 3b 0d 09 |offset))|[n]));..|
|00000dc0| 09 09 09 62 72 65 61 6b | 3b 0d 09 09 09 63 61 73 |...break|;....cas|
|00000dd0| 65 20 53 48 4f 52 54 3a | 0d 09 09 09 09 70 72 69 |e SHORT:|.....pri|
|00000de0| 6e 74 66 28 22 30 78 25 | 58 20 22 2c 09 28 69 6e |ntf("0x%|X ",.(in|
|00000df0| 74 29 28 20 28 28 75 6e | 73 69 67 6e 65 64 20 73 |t)( ((un|signed s|
|00000e00| 68 6f 72 74 20 2a 29 28 | 26 6f 66 66 73 65 74 29 |hort *)(|&offset)|
|00000e10| 29 5b 6e 5d 29 29 3b 0d | 09 09 09 09 62 72 65 61 |)[n]));.|....brea|
|00000e20| 6b 3b 0d 09 09 09 63 61 | 73 65 20 4c 4f 4e 47 3a |k;....ca|se LONG:|
|00000e30| 0d 09 09 09 09 70 72 69 | 6e 74 66 28 22 30 78 25 |.....pri|ntf("0x%|
|00000e40| 6c 58 20 22 2c 09 6f 66 | 66 73 65 74 29 3b 0d 09 |lX ",.of|fset);..|
|00000e50| 09 09 09 62 72 65 61 6b | 3b 0d 09 09 09 7d 0d 09 |...break|;....}..|
|00000e60| 09 7d 0d 09 09 69 66 20 | 28 74 79 70 65 20 3d 3d |.}...if |(type ==|
|00000e70| 20 41 53 43 49 49 29 0d | 09 09 09 70 75 74 63 68 | ASCII).|...putch|
|00000e80| 61 72 28 27 22 27 29 3b | 0d 09 7d 0d 09 65 6c 73 |ar('"');|..}..els|
|00000e90| 65 20 7b 09 09 09 09 09 | 09 09 2f 2a 20 76 61 6c |e {.....|../* val|
|00000ea0| 75 65 28 73 29 20 61 74 | 20 67 69 76 65 6e 20 6f |ue(s) at| given o|
|00000eb0| 66 66 73 65 74 20 2a 2f | 0d 09 09 70 72 69 6e 74 |ffset */|...print|
|00000ec0| 66 28 22 76 61 6c 75 65 | 73 20 40 30 78 25 6c 58 |f("value|s @0x%lX|
|00000ed0| 3a 22 2c 6f 66 66 73 65 | 74 29 3b 0d 09 09 69 66 |:",offse|t);...if|
|00000ee0| 20 28 28 6f 6c 64 4f 66 | 66 73 65 74 20 3d 20 6c | ((oldOf|fset = l|
|00000ef0| 73 65 65 6b 28 66 64 2c | 20 30 4c 2c 20 31 29 29 |seek(fd,| 0L, 1))|
|00000f00| 20 3c 20 30 29 20 7b 0d | 09 09 09 66 70 72 69 6e | < 0) {.|...fprin|
|00000f10| 74 66 28 73 74 64 65 72 | 72 2c 20 22 25 73 3a 20 |tf(stder|r, "%s: |
|00000f20| 73 65 65 6b 20 65 72 72 | 6f 72 3a 20 25 73 5c 6e |seek err|or: %s\n|
|00000f30| 22 2c 20 70 67 72 6d 2c | 20 66 69 6c 65 6e 61 6d |", pgrm,| filenam|
|00000f40| 65 29 3b 0d 09 09 09 65 | 78 69 74 28 31 29 3b 0d |e);....e|xit(1);.|
|00000f50| 09 09 7d 0d 09 09 69 66 | 20 28 6c 73 65 65 6b 28 |..}...if| (lseek(|
|00000f60| 66 64 2c 20 6f 66 66 73 | 65 74 2c 20 30 29 20 3c |fd, offs|et, 0) <|
|00000f70| 20 30 29 20 7b 0d 09 09 | 09 66 70 72 69 6e 74 66 | 0) {...|.fprintf|
|00000f80| 28 73 74 64 65 72 72 2c | 20 22 25 73 3a 20 73 65 |(stderr,| "%s: se|
|00000f90| 65 6b 20 65 72 72 6f 72 | 3a 20 25 73 5c 6e 22 2c |ek error|: %s\n",|
|00000fa0| 20 70 67 72 6d 2c 20 66 | 69 6c 65 6e 61 6d 65 29 | pgrm, f|ilename)|
|00000fb0| 3b 0d 09 09 09 65 78 69 | 74 28 31 29 3b 0d 09 09 |;....exi|t(1);...|
|00000fc0| 7d 0d 09 09 70 75 74 63 | 68 61 72 28 27 5c 6e 27 |}...putc|har('\n'|
|00000fd0| 29 3b 0d 09 09 69 66 20 | 28 74 79 70 65 20 3d 3d |);...if |(type ==|
|00000fe0| 20 41 53 43 49 49 29 0d | 09 09 09 70 72 69 6e 74 | ASCII).|...print|
|00000ff0| 66 28 22 5c 74 5c 22 22 | 29 3b 0d 09 09 66 6f 72 |f("\t\""|);...for|
|00001000| 20 28 6e 20 3d 20 30 3b | 20 6e 20 3c 20 6c 65 6e | (n = 0;| n < len|
|00001010| 67 74 68 3b 20 6e 2b 2b | 29 20 7b 0d 09 09 09 69 |gth; n++|) {....i|
|00001020| 66 20 28 74 79 70 65 20 | 21 3d 20 41 53 43 49 49 |f (type |!= ASCII|
|00001030| 29 0d 09 09 09 09 70 75 | 74 63 68 61 72 28 27 5c |).....pu|tchar('\|
|00001040| 74 27 29 3b 0d 09 09 09 | 73 77 69 74 63 68 20 28 |t');....|switch (|
|00001050| 74 79 70 65 29 20 7b 0d | 09 09 09 63 61 73 65 20 |type) {.|...case |
|00001060| 42 59 54 45 3a 0d 09 09 | 09 09 72 65 61 64 42 79 |BYTE:...|..readBy|
|00001070| 74 65 28 66 64 2c 20 26 | 42 79 74 65 29 3b 0d 20 |te(fd, &|Byte);. |
|00001080| 09 09 09 09 73 70 72 69 | 6e 74 66 28 62 75 66 2c |....spri|ntf(buf,|
|00001090| 20 22 30 78 25 6c 58 22 | 2c 20 42 79 74 65 29 3b | "0x%lX"|, Byte);|
|000010a0| 0d 09 09 09 09 70 61 64 | 28 62 75 66 2c 20 32 20 |.....pad|(buf, 2 |
|000010b0| 2b 20 28 32 20 2a 20 73 | 69 7a 65 6f 66 28 42 79 |+ (2 * s|izeof(By|
|000010c0| 74 65 29 29 29 3b 0d 09 | 09 09 09 70 72 69 6e 74 |te)));..|...print|
|000010d0| 66 28 22 25 73 22 2c 20 | 62 75 66 29 3b 0d 09 09 |f("%s", |buf);...|
|000010e0| 09 09 62 72 65 61 6b 3b | 0d 09 09 09 63 61 73 65 |..break;|....case|
|000010f0| 20 41 53 43 49 49 3a 0d | 09 09 09 09 72 65 61 64 | ASCII:.|....read|
|00001100| 42 79 74 65 28 66 64 2c | 20 26 42 79 74 65 29 3b |Byte(fd,| &Byte);|
|00001110| 0d 09 09 09 09 70 75 74 | 63 68 61 72 28 42 79 74 |.....put|char(Byt|
|00001120| 65 29 3b 0d 09 09 09 09 | 62 72 65 61 6b 3b 0d 09 |e);.....|break;..|
|00001130| 09 09 63 61 73 65 20 53 | 48 4f 52 54 3a 0d 09 09 |..case S|HORT:...|
|00001140| 09 09 72 65 61 64 53 68 | 6f 72 74 28 66 64 2c 20 |..readSh|ort(fd, |
|00001150| 26 53 68 6f 72 74 29 3b | 0d 20 09 09 09 09 73 70 |&Short);|. ....sp|
|00001160| 72 69 6e 74 66 28 62 75 | 66 2c 20 22 30 78 25 6c |rintf(bu|f, "0x%l|
|00001170| 58 22 2c 20 53 68 6f 72 | 74 29 3b 0d 09 09 09 09 |X", Shor|t);.....|
|00001180| 70 61 64 28 62 75 66 2c | 20 32 20 2b 20 28 32 20 |pad(buf,| 2 + (2 |
|00001190| 2a 20 73 69 7a 65 6f 66 | 28 53 68 6f 72 74 29 29 |* sizeof|(Short))|
|000011a0| 29 3b 0d 09 09 09 09 70 | 72 69 6e 74 66 28 22 25 |);.....p|rintf("%|
|000011b0| 73 22 2c 20 62 75 66 29 | 3b 0d 09 09 09 09 62 72 |s", buf)|;.....br|
|000011c0| 65 61 6b 3b 0d 09 09 09 | 63 61 73 65 20 4c 4f 4e |eak;....|case LON|
|000011d0| 47 3a 0d 09 09 09 09 72 | 65 61 64 4c 6f 6e 67 28 |G:.....r|eadLong(|
|000011e0| 66 64 2c 20 26 4c 6f 6e | 67 29 3b 0d 20 09 09 09 |fd, &Lon|g);. ...|
|000011f0| 09 73 70 72 69 6e 74 66 | 28 62 75 66 2c 20 22 30 |.sprintf|(buf, "0|
|00001200| 78 25 6c 58 22 2c 20 4c | 6f 6e 67 29 3b 0d 09 09 |x%lX", L|ong);...|
|00001210| 09 09 70 61 64 28 62 75 | 66 2c 20 32 20 2b 20 28 |..pad(bu|f, 2 + (|
|00001220| 32 20 2a 20 73 69 7a 65 | 6f 66 28 4c 6f 6e 67 29 |2 * size|of(Long)|
|00001230| 29 29 3b 0d 09 09 09 09 | 70 72 69 6e 74 66 28 22 |));.....|printf("|
|00001240| 25 73 22 2c 20 62 75 66 | 29 3b 0d 09 09 09 09 62 |%s", buf|);.....b|
|00001250| 72 65 61 6b 3b 0d 09 09 | 09 63 61 73 65 20 52 41 |reak;...|.case RA|
|00001260| 54 49 4f 4e 41 4c 3a 0d | 09 09 09 09 72 65 61 64 |TIONAL:.|....read|
|00001270| 52 61 74 69 6f 6e 61 6c | 28 66 64 2c 20 26 52 61 |Rational|(fd, &Ra|
|00001280| 74 29 3b 0d 09 09 09 09 | 70 72 69 6e 74 66 28 22 |t);.....|printf("|
|00001290| 25 73 2f 22 2c 20 67 65 | 74 68 65 78 28 52 61 74 |%s/", ge|thex(Rat|
|000012a0| 2e 6e 75 6d 65 72 61 74 | 6f 72 2c 20 73 69 7a 65 |.numerat|or, size|
|000012b0| 6f 66 28 52 61 74 2e 6e | 75 6d 65 72 61 74 6f 72 |of(Rat.n|umerator|
|000012c0| 29 29 29 3b 0d 09 09 09 | 09 73 70 72 69 6e 74 66 |)));....|.sprintf|
|000012d0| 28 62 75 66 2c 20 22 30 | 78 25 6c 58 22 2c 20 52 |(buf, "0|x%lX", R|
|000012e0| 61 74 2e 64 65 6e 6f 6d | 69 6e 61 74 6f 72 29 3b |at.denom|inator);|
|000012f0| 0d 09 09 09 09 70 61 64 | 28 62 75 66 2c 20 32 20 |.....pad|(buf, 2 |
|00001300| 2b 20 28 32 20 2a 20 73 | 69 7a 65 6f 66 28 4c 6f |+ (2 * s|izeof(Lo|
|00001310| 6e 67 29 29 29 3b 0d 09 | 09 09 09 70 72 69 6e 74 |ng)));..|...print|
|00001320| 66 28 22 25 73 22 2c 20 | 62 75 66 29 3b 0d 09 09 |f("%s", |buf);...|
|00001330| 09 09 62 72 65 61 6b 3b | 0d 09 09 09 7d 0d 09 09 |..break;|....}...|
|00001340| 09 69 66 20 28 28 74 79 | 70 65 20 21 3d 20 41 53 |.if ((ty|pe != AS|
|00001350| 43 49 49 29 20 26 26 20 | 28 6e 20 25 20 34 20 3d |CII) && |(n % 4 =|
|00001360| 3d 20 33 29 29 0d 09 09 | 09 09 70 75 74 63 68 61 |= 3))...|..putcha|
|00001370| 72 28 27 5c 6e 27 29 3b | 0d 09 09 7d 0d 09 09 69 |r('\n');|...}...i|
|00001380| 66 20 28 74 79 70 65 20 | 3d 3d 20 41 53 43 49 49 |f (type |== ASCII|
|00001390| 29 0d 09 09 09 70 75 74 | 63 68 61 72 28 27 22 27 |)....put|char('"'|
|000013a0| 29 3b 0d 09 09 69 66 20 | 28 6c 73 65 65 6b 28 66 |);...if |(lseek(f|
|000013b0| 64 2c 20 6f 6c 64 4f 66 | 66 73 65 74 2c 20 30 29 |d, oldOf|fset, 0)|
|000013c0| 20 3c 20 30 29 20 7b 0d | 09 09 09 66 70 72 69 6e | < 0) {.|...fprin|
|000013d0| 74 66 28 73 74 64 65 72 | 72 2c 20 22 25 73 3a 20 |tf(stder|r, "%s: |
|000013e0| 73 65 65 6b 20 65 72 72 | 6f 72 3a 20 25 73 5c 6e |seek err|or: %s\n|
|000013f0| 22 2c 20 70 67 72 6d 2c | 20 66 69 6c 65 6e 61 6d |", pgrm,| filenam|
|00001400| 65 29 3b 0d 09 09 09 65 | 78 69 74 28 31 29 3b 0d |e);....e|xit(1);.|
|00001410| 09 09 7d 0d 09 7d 0d 09 | 70 75 74 63 68 61 72 28 |..}..}..|putchar(|
|00001420| 27 5c 6e 27 29 3b 0d 7d | 0d 0d 74 79 70 65 53 69 |'\n');.}|..typeSi|
|00001430| 7a 65 28 74 79 70 65 29 | 0d 49 6e 74 31 36 09 74 |ze(type)|.Int16.t|
|00001440| 79 70 65 3b 0d 7b 0d 09 | 73 77 69 74 63 68 20 28 |ype;.{..|switch (|
|00001450| 74 79 70 65 29 20 7b 0d | 09 63 61 73 65 20 42 59 |type) {.|.case BY|
|00001460| 54 45 3a 0d 09 09 72 65 | 74 75 72 6e 28 42 59 54 |TE:...re|turn(BYT|
|00001470| 45 53 49 5a 45 29 3b 0d | 09 09 62 72 65 61 6b 3b |ESIZE);.|..break;|
|00001480| 0d 09 63 61 73 65 20 41 | 53 43 49 49 3a 0d 09 09 |..case A|SCII:...|
|00001490| 72 65 74 75 72 6e 28 41 | 53 43 49 49 53 49 5a 45 |return(A|SCIISIZE|
|000014a0| 29 3b 0d 09 09 62 72 65 | 61 6b 3b 0d 09 63 61 73 |);...bre|ak;..cas|
|000014b0| 65 20 53 48 4f 52 54 3a | 0d 09 09 72 65 74 75 72 |e SHORT:|...retur|
|000014c0| 6e 28 53 48 4f 52 54 53 | 49 5a 45 29 3b 0d 09 09 |n(SHORTS|IZE);...|
|000014d0| 62 72 65 61 6b 3b 0d 09 | 63 61 73 65 20 4c 4f 4e |break;..|case LON|
|000014e0| 47 3a 0d 09 09 72 65 74 | 75 72 6e 28 4c 4f 4e 47 |G:...ret|urn(LONG|
|000014f0| 29 3b 0d 09 09 62 72 65 | 61 6b 3b 0d 09 63 61 73 |);...bre|ak;..cas|
|00001500| 65 20 52 41 54 49 4f 4e | 41 4c 3a 0d 09 09 72 65 |e RATION|AL:...re|
|00001510| 74 75 72 6e 28 52 41 54 | 53 49 5a 45 29 3b 0d 09 |turn(RAT|SIZE);..|
|00001520| 09 62 72 65 61 6b 3b 0d | 09 7d 0d 7d 0d 0d 63 68 |.break;.|.}.}..ch|
|00001530| 61 72 20 2a 74 61 67 4e | 61 6d 65 28 74 61 67 29 |ar *tagN|ame(tag)|
|00001540| 0d 49 6e 74 31 36 09 74 | 61 67 3b 0d 7b 0d 09 73 |.Int16.t|ag;.{..s|
|00001550| 74 61 74 69 63 20 63 68 | 61 72 20 62 75 66 5b 38 |tatic ch|ar buf[8|
|00001560| 30 5d 3b 0d 09 0d 09 73 | 77 69 74 63 68 20 28 74 |0];....s|witch (t|
|00001570| 61 67 29 20 7b 0d 09 63 | 61 73 65 20 53 55 42 46 |ag) {..c|ase SUBF|
|00001580| 49 4c 45 5f 54 59 50 45 | 5f 54 41 47 3a 0d 09 09 |ILE_TYPE|_TAG:...|
|00001590| 73 70 72 69 6e 74 66 28 | 62 75 66 2c 20 22 53 75 |sprintf(|buf, "Su|
|000015a0| 62 66 69 6c 65 54 79 70 | 65 22 29 3b 0d 09 09 62 |bfileTyp|e");...b|
|000015b0| 72 65 61 6b 3b 0d 09 63 | 61 73 65 20 49 4d 41 47 |reak;..c|ase IMAG|
|000015c0| 45 5f 57 49 44 54 48 5f | 54 41 47 3a 0d 09 09 73 |E_WIDTH_|TAG:...s|
|000015d0| 70 72 69 6e 74 66 28 62 | 75 66 2c 20 22 49 6d 61 |printf(b|uf, "Ima|
|000015e0| 67 65 57 69 64 74 68 22 | 29 3b 0d 09 09 62 72 65 |geWidth"|);...bre|
|000015f0| 61 6b 3b 0d 09 63 61 73 | 65 20 49 4d 41 47 45 5f |ak;..cas|e IMAGE_|
|00001600| 4c 45 4e 47 54 48 5f 54 | 41 47 3a 0d 09 09 73 70 |LENGTH_T|AG:...sp|
|00001610| 72 69 6e 74 66 28 62 75 | 66 2c 20 22 49 6d 61 67 |rintf(bu|f, "Imag|
|00001620| 65 4c 65 6e 67 74 68 22 | 29 3b 0d 09 09 62 72 65 |eLength"|);...bre|
|00001630| 61 6b 3b 0d 09 63 61 73 | 65 20 42 49 54 53 5f 50 |ak;..cas|e BITS_P|
|00001640| 45 52 5f 53 41 4d 50 4c | 45 5f 54 41 47 3a 0d 09 |ER_SAMPL|E_TAG:..|
|00001650| 09 73 70 72 69 6e 74 66 | 28 62 75 66 2c 20 22 42 |.sprintf|(buf, "B|
|00001660| 69 74 73 50 65 72 53 61 | 6d 70 6c 65 22 29 3b 0d |itsPerSa|mple");.|
|00001670| 09 09 62 72 65 61 6b 3b | 0d 09 63 61 73 65 20 43 |..break;|..case C|
|00001680| 4f 4d 50 52 45 53 53 49 | 4f 4e 5f 54 41 47 3a 0d |OMPRESSI|ON_TAG:.|
|00001690| 09 09 73 70 72 69 6e 74 | 66 28 62 75 66 2c 20 22 |..sprint|f(buf, "|
|000016a0| 43 6f 6d 70 72 65 73 73 | 69 6f 6e 22 29 3b 0d 09 |Compress|ion");..|
|000016b0| 09 62 72 65 61 6b 3b 0d | 09 63 61 73 65 20 50 48 |.break;.|.case PH|
|000016c0| 4f 54 4f 4d 45 54 52 49 | 43 5f 49 4e 54 45 52 50 |OTOMETRI|C_INTERP|
|000016d0| 5f 54 41 47 3a 0d 09 09 | 73 70 72 69 6e 74 66 28 |_TAG:...|sprintf(|
|000016e0| 62 75 66 2c 20 22 50 68 | 6f 74 6f 6d 65 74 72 69 |buf, "Ph|otometri|
|000016f0| 63 49 6e 74 65 72 70 72 | 65 74 61 74 69 6f 6e 22 |cInterpr|etation"|
|00001700| 29 3b 0d 09 09 62 72 65 | 61 6b 3b 0d 09 63 61 73 |);...bre|ak;..cas|
|00001710| 65 20 54 48 52 45 53 48 | 4f 4c 44 49 4e 47 5f 54 |e THRESH|OLDING_T|
|00001720| 41 47 3a 0d 09 09 73 70 | 72 69 6e 74 66 28 62 75 |AG:...sp|rintf(bu|
|00001730| 66 2c 20 22 54 68 72 65 | 73 68 68 6f 6c 64 69 6e |f, "Thre|shholdin|
|00001740| 67 22 29 3b 0d 09 09 62 | 72 65 61 6b 3b 0d 09 63 |g");...b|reak;..c|
|00001750| 61 73 65 20 43 45 4c 4c | 5f 57 49 44 54 48 5f 54 |ase CELL|_WIDTH_T|
|00001760| 41 47 3a 0d 09 09 73 70 | 72 69 6e 74 66 28 62 75 |AG:...sp|rintf(bu|
|00001770| 66 2c 20 22 43 65 6c 6c | 57 69 64 74 68 22 29 3b |f, "Cell|Width");|
|00001780| 0d 09 09 62 72 65 61 6b | 3b 0d 09 63 61 73 65 20 |...break|;..case |
|00001790| 43 45 4c 4c 5f 4c 45 4e | 47 54 48 5f 54 41 47 3a |CELL_LEN|GTH_TAG:|
|000017a0| 0d 09 09 73 70 72 69 6e | 74 66 28 62 75 66 2c 20 |...sprin|tf(buf, |
|000017b0| 22 43 65 6c 6c 4c 65 6e | 67 74 68 22 29 3b 0d 09 |"CellLen|gth");..|
|000017c0| 09 62 72 65 61 6b 3b 0d | 09 63 61 73 65 20 46 49 |.break;.|.case FI|
|000017d0| 4c 4c 5f 4f 52 44 45 52 | 5f 54 41 47 3a 0d 09 09 |LL_ORDER|_TAG:...|
|000017e0| 73 70 72 69 6e 74 66 28 | 62 75 66 2c 20 22 46 69 |sprintf(|buf, "Fi|
|000017f0| 6c 6c 4f 72 64 65 72 22 | 29 3b 0d 09 09 62 72 65 |llOrder"|);...bre|
|00001800| 61 6b 3b 0d 09 63 61 73 | 65 20 44 4f 43 55 4d 45 |ak;..cas|e DOCUME|
|00001810| 4e 54 5f 4e 41 4d 45 5f | 54 41 47 3a 0d 09 09 73 |NT_NAME_|TAG:...s|
|00001820| 70 72 69 6e 74 66 28 62 | 75 66 2c 20 22 44 6f 63 |printf(b|uf, "Doc|
|00001830| 75 6d 65 6e 74 4e 61 6d | 65 22 29 3b 0d 09 09 62 |umentNam|e");...b|
|00001840| 72 65 61 6b 3b 0d 09 63 | 61 73 65 20 49 4d 41 47 |reak;..c|ase IMAG|
|00001850| 45 5f 44 45 53 43 52 49 | 50 54 49 4f 4e 5f 54 41 |E_DESCRI|PTION_TA|
|00001860| 47 3a 0d 09 09 73 70 72 | 69 6e 74 66 28 62 75 66 |G:...spr|intf(buf|
|00001870| 2c 20 22 49 6d 61 67 65 | 44 65 73 63 72 69 70 74 |, "Image|Descript|
|00001880| 69 6f 6e 22 29 3b 0d 09 | 09 62 72 65 61 6b 3b 0d |ion");..|.break;.|
|00001890| 09 63 61 73 65 20 4d 41 | 4b 45 5f 54 41 47 3a 0d |.case MA|KE_TAG:.|
|000018a0| 09 09 73 70 72 69 6e 74 | 66 28 62 75 66 2c 20 22 |..sprint|f(buf, "|
|000018b0| 4d 61 6b 65 22 29 3b 0d | 09 09 62 72 65 61 6b 3b |Make");.|..break;|
|000018c0| 0d 09 63 61 73 65 20 4d | 4f 44 45 4c 5f 54 41 47 |..case M|ODEL_TAG|
|000018d0| 3a 0d 09 09 73 70 72 69 | 6e 74 66 28 62 75 66 2c |:...spri|ntf(buf,|
|000018e0| 20 22 4d 6f 64 65 6c 22 | 29 3b 0d 09 09 62 72 65 | "Model"|);...bre|
|000018f0| 61 6b 3b 0d 09 63 61 73 | 65 20 53 54 52 49 50 5f |ak;..cas|e STRIP_|
|00001900| 4f 46 46 53 45 54 53 5f | 54 41 47 3a 0d 09 09 73 |OFFSETS_|TAG:...s|
|00001910| 70 72 69 6e 74 66 28 62 | 75 66 2c 20 22 53 74 72 |printf(b|uf, "Str|
|00001920| 69 70 4f 66 66 73 65 74 | 73 22 29 3b 0d 09 09 62 |ipOffset|s");...b|
|00001930| 72 65 61 6b 3b 0d 09 63 | 61 73 65 20 4f 52 49 45 |reak;..c|ase ORIE|
|00001940| 4e 54 41 54 49 4f 4e 5f | 54 41 47 3a 0d 09 09 73 |NTATION_|TAG:...s|
|00001950| 70 72 69 6e 74 66 28 62 | 75 66 2c 20 22 4f 72 69 |printf(b|uf, "Ori|
|00001960| 65 6e 74 61 74 69 6f 6e | 22 29 3b 0d 09 09 62 72 |entation|");...br|
|00001970| 65 61 6b 3b 0d 09 63 61 | 73 65 20 53 41 4d 50 4c |eak;..ca|se SAMPL|
|00001980| 45 53 5f 50 45 52 5f 50 | 49 58 45 4c 5f 54 41 47 |ES_PER_P|IXEL_TAG|
|00001990| 3a 0d 09 09 73 70 72 69 | 6e 74 66 28 62 75 66 2c |:...spri|ntf(buf,|
|000019a0| 20 22 53 61 6d 70 6c 65 | 73 50 65 72 50 69 78 65 | "Sample|sPerPixe|
|000019b0| 6c 22 29 3b 0d 09 09 62 | 72 65 61 6b 3b 0d 09 63 |l");...b|reak;..c|
|000019c0| 61 73 65 20 52 4f 57 53 | 5f 50 45 52 5f 53 54 52 |ase ROWS|_PER_STR|
|000019d0| 49 50 5f 54 41 47 3a 0d | 09 09 73 70 72 69 6e 74 |IP_TAG:.|..sprint|
|000019e0| 66 28 62 75 66 2c 20 22 | 52 6f 77 73 50 65 72 53 |f(buf, "|RowsPerS|
|000019f0| 74 72 69 70 22 29 3b 0d | 09 09 62 72 65 61 6b 3b |trip");.|..break;|
|00001a00| 0d 09 63 61 73 65 20 53 | 54 52 49 50 5f 42 59 54 |..case S|TRIP_BYT|
|00001a10| 45 5f 43 4f 55 4e 54 53 | 5f 54 41 47 3a 0d 09 09 |E_COUNTS|_TAG:...|
|00001a20| 73 70 72 69 6e 74 66 28 | 62 75 66 2c 20 22 53 74 |sprintf(|buf, "St|
|00001a30| 72 69 70 42 79 74 65 43 | 6f 75 6e 74 73 22 29 3b |ripByteC|ounts");|
|00001a40| 0d 09 09 62 72 65 61 6b | 3b 0d 09 63 61 73 65 20 |...break|;..case |
|00001a50| 4d 49 4e 5f 53 41 4d 50 | 4c 45 5f 56 41 4c 55 45 |MIN_SAMP|LE_VALUE|
|00001a60| 5f 54 41 47 3a 0d 09 09 | 73 70 72 69 6e 74 66 28 |_TAG:...|sprintf(|
|00001a70| 62 75 66 2c 20 22 4d 69 | 6e 53 61 6d 70 6c 65 56 |buf, "Mi|nSampleV|
|00001a80| 61 6c 75 65 22 29 3b 0d | 09 09 62 72 65 61 6b 3b |alue");.|..break;|
|00001a90| 0d 09 63 61 73 65 20 4d | 41 58 5f 53 41 4d 50 4c |..case M|AX_SAMPL|
|00001aa0| 45 5f 56 41 4c 55 45 5f | 54 41 47 3a 0d 09 09 73 |E_VALUE_|TAG:...s|
|00001ab0| 70 72 69 6e 74 66 28 62 | 75 66 2c 20 22 4d 61 78 |printf(b|uf, "Max|
|00001ac0| 53 61 6d 70 6c 65 56 61 | 6c 75 65 22 29 3b 0d 09 |SampleVa|lue");..|
|00001ad0| 09 62 72 65 61 6b 3b 0d | 09 63 61 73 65 20 58 5f |.break;.|.case X_|
|00001ae0| 52 45 53 4f 4c 55 54 49 | 4f 4e 5f 54 41 47 3a 0d |RESOLUTI|ON_TAG:.|
|00001af0| 09 09 73 70 72 69 6e 74 | 66 28 62 75 66 2c 20 22 |..sprint|f(buf, "|
|00001b00| 58 52 65 73 6f 6c 75 74 | 69 6f 6e 22 29 3b 0d 09 |XResolut|ion");..|
|00001b10| 09 62 72 65 61 6b 3b 0d | 09 63 61 73 65 20 59 5f |.break;.|.case Y_|
|00001b20| 52 45 53 4f 4c 55 54 49 | 4f 4e 5f 54 41 47 3a 0d |RESOLUTI|ON_TAG:.|
|00001b30| 09 09 73 70 72 69 6e 74 | 66 28 62 75 66 2c 20 22 |..sprint|f(buf, "|
|00001b40| 59 52 65 73 6f 6c 75 74 | 69 6f 6e 22 29 3b 0d 09 |YResolut|ion");..|
|00001b50| 09 62 72 65 61 6b 3b 0d | 09 63 61 73 65 20 50 4c |.break;.|.case PL|
|00001b60| 41 4e 41 52 5f 43 4f 4e | 46 49 47 5f 54 41 47 3a |ANAR_CON|FIG_TAG:|
|00001b70| 0d 09 09 73 70 72 69 6e | 74 66 28 62 75 66 2c 20 |...sprin|tf(buf, |
|00001b80| 22 50 6c 61 6e 61 72 43 | 6f 6e 66 69 67 75 72 61 |"PlanarC|onfigura|
|00001b90| 74 69 6f 6e 22 29 3b 0d | 09 09 62 72 65 61 6b 3b |tion");.|..break;|
|00001ba0| 0d 09 63 61 73 65 20 50 | 41 47 45 5f 4e 41 4d 45 |..case P|AGE_NAME|
|00001bb0| 5f 54 41 47 3a 0d 09 09 | 73 70 72 69 6e 74 66 28 |_TAG:...|sprintf(|
|00001bc0| 62 75 66 2c 20 22 50 61 | 67 65 4e 61 6d 65 22 29 |buf, "Pa|geName")|
|00001bd0| 3b 0d 09 09 62 72 65 61 | 6b 3b 0d 09 63 61 73 65 |;...brea|k;..case|
|00001be0| 20 58 5f 50 4f 53 49 54 | 49 4f 4e 5f 54 41 47 3a | X_POSIT|ION_TAG:|
|00001bf0| 0d 09 09 73 70 72 69 6e | 74 66 28 62 75 66 2c 20 |...sprin|tf(buf, |
|00001c00| 22 58 50 6f 73 69 74 69 | 6f 6e 22 29 3b 0d 09 09 |"XPositi|on");...|
|00001c10| 62 72 65 61 6b 3b 0d 09 | 63 61 73 65 20 59 5f 50 |break;..|case Y_P|
|00001c20| 4f 53 49 54 49 4f 4e 5f | 54 41 47 3a 0d 09 09 73 |OSITION_|TAG:...s|
|00001c30| 70 72 69 6e 74 66 28 62 | 75 66 2c 20 22 59 50 6f |printf(b|uf, "YPo|
|00001c40| 73 69 74 69 6f 6e 22 29 | 3b 0d 09 09 62 72 65 61 |sition")|;...brea|
|00001c50| 6b 3b 0d 09 63 61 73 65 | 20 46 52 45 45 5f 4f 46 |k;..case| FREE_OF|
|00001c60| 46 53 45 54 53 5f 54 41 | 47 3a 0d 09 09 73 70 72 |FSETS_TA|G:...spr|
|00001c70| 69 6e 74 66 28 62 75 66 | 2c 20 22 46 72 65 65 4f |intf(buf|, "FreeO|
|00001c80| 66 66 73 65 74 73 22 29 | 3b 0d 09 09 62 72 65 61 |ffsets")|;...brea|
|00001c90| 6b 3b 0d 09 63 61 73 65 | 20 46 52 45 45 5f 42 59 |k;..case| FREE_BY|
|00001ca0| 54 45 5f 43 4f 55 4e 54 | 53 5f 54 41 47 3a 0d 09 |TE_COUNT|S_TAG:..|
|00001cb0| 09 73 70 72 69 6e 74 66 | 28 62 75 66 2c 20 22 46 |.sprintf|(buf, "F|
|00001cc0| 72 65 65 42 79 74 65 43 | 6f 75 6e 74 73 22 29 3b |reeByteC|ounts");|
|00001cd0| 0d 09 09 62 72 65 61 6b | 3b 0d 09 63 61 73 65 20 |...break|;..case |
|00001ce0| 55 4e 49 54 53 5f 47 52 | 41 59 5f 52 45 53 50 4f |UNITS_GR|AY_RESPO|
|00001cf0| 4e 53 45 3a 0d 09 09 73 | 70 72 69 6e 74 66 28 62 |NSE:...s|printf(b|
|00001d00| 75 66 2c 20 22 47 72 61 | 79 52 65 73 70 6f 6e 73 |uf, "Gra|yRespons|
|00001d10| 65 55 6e 69 74 22 29 3b | 0d 09 09 62 72 65 61 6b |eUnit");|...break|
|00001d20| 3b 0d 09 63 61 73 65 20 | 43 55 52 56 45 5f 47 52 |;..case |CURVE_GR|
|00001d30| 41 59 5f 52 45 53 50 4f | 4e 53 45 3a 0d 09 09 73 |AY_RESPO|NSE:...s|
|00001d40| 70 72 69 6e 74 66 28 62 | 75 66 2c 20 22 47 72 61 |printf(b|uf, "Gra|
|00001d50| 79 52 65 73 70 6f 6e 73 | 65 43 75 72 76 65 22 29 |yRespons|eCurve")|
|00001d60| 3b 0d 09 09 62 72 65 61 | 6b 3b 0d 09 63 61 73 65 |;...brea|k;..case|
|00001d70| 20 30 78 31 32 34 3a 09 | 2f 2a 20 47 72 6f 75 70 | 0x124:.|/* Group|
|00001d80| 33 4f 70 74 69 6f 6e 73 | 20 2a 2f 0d 09 09 73 70 |3Options| */...sp|
|00001d90| 72 69 6e 74 66 28 62 75 | 66 2c 20 22 6e 61 6d 65 |rintf(bu|f, "name|
|00001da0| 22 29 3b 0d 09 09 62 72 | 65 61 6b 3b 0d 09 63 61 |");...br|eak;..ca|
|00001db0| 73 65 20 30 78 31 32 35 | 3a 09 2f 2a 20 47 72 6f |se 0x125|:./* Gro|
|00001dc0| 75 70 34 4f 70 74 69 6f | 6e 73 20 2a 2f 0d 09 09 |up4Optio|ns */...|
|00001dd0| 73 70 72 69 6e 74 66 28 | 62 75 66 2c 20 22 6e 61 |sprintf(|buf, "na|
|00001de0| 6d 65 22 29 3b 0d 09 09 | 62 72 65 61 6b 3b 0d 09 |me");...|break;..|
|00001df0| 63 61 73 65 20 30 78 31 | 32 38 3a 09 2f 2a 20 52 |case 0x1|28:./* R|
|00001e00| 65 73 6f 6c 75 74 69 6f | 6e 55 6e 69 74 20 2a 2f |esolutio|nUnit */|
|00001e10| 0d 09 09 73 70 72 69 6e | 74 66 28 62 75 66 2c 20 |...sprin|tf(buf, |
|00001e20| 22 6e 61 6d 65 22 29 3b | 0d 09 09 62 72 65 61 6b |"name");|...break|
|00001e30| 3b 0d 09 63 61 73 65 20 | 30 78 31 32 39 3a 09 2f |;..case |0x129:./|
|00001e40| 2a 20 50 61 67 65 4e 75 | 6d 62 65 72 20 2a 2f 0d |* PageNu|mber */.|
|00001e50| 09 09 73 70 72 69 6e 74 | 66 28 62 75 66 2c 20 22 |..sprint|f(buf, "|
|00001e60| 6e 61 6d 65 22 29 3b 0d | 09 09 62 72 65 61 6b 3b |name");.|..break;|
|00001e70| 0d 09 63 61 73 65 20 30 | 78 31 32 43 3a 09 2f 2a |..case 0|x12C:./*|
|00001e80| 20 43 6f 6c 6f 72 52 65 | 73 70 6f 6e 73 65 55 6e | ColorRe|sponseUn|
|00001e90| 69 74 20 2a 2f 0d 09 09 | 73 70 72 69 6e 74 66 28 |it */...|sprintf(|
|00001ea0| 62 75 66 2c 20 22 6e 61 | 6d 65 22 29 3b 0d 09 09 |buf, "na|me");...|
|00001eb0| 62 72 65 61 6b 3b 0d 09 | 63 61 73 65 20 30 78 31 |break;..|case 0x1|
|00001ec0| 32 44 3a 09 2f 2a 20 43 | 6f 6c 6f 72 52 65 73 70 |2D:./* C|olorResp|
|00001ed0| 6f 6e 73 65 43 75 72 76 | 65 73 20 2a 2f 0d 09 09 |onseCurv|es */...|
|00001ee0| 73 70 72 69 6e 74 66 28 | 62 75 66 2c 20 22 6e 61 |sprintf(|buf, "na|
|00001ef0| 6d 65 22 29 3b 0d 09 09 | 62 72 65 61 6b 3b 0d 09 |me");...|break;..|
|00001f00| 64 65 66 61 75 6c 74 3a | 0d 09 09 73 70 72 69 6e |default:|...sprin|
|00001f10| 74 66 28 62 75 66 2c 20 | 22 25 30 33 78 22 2c 20 |tf(buf, |"%03x", |
|00001f20| 74 61 67 29 3b 0d 09 09 | 62 72 65 61 6b 3b 0d 09 |tag);...|break;..|
|00001f30| 7d 0d 09 70 61 64 28 62 | 75 66 2c 20 73 74 72 6c |}..pad(b|uf, strl|
|00001f40| 65 6e 28 22 50 68 6f 74 | 6f 6d 65 74 72 69 63 49 |en("Phot|ometricI|
|00001f50| 6e 74 65 72 70 72 65 74 | 61 74 69 6f 6e 22 29 29 |nterpret|ation"))|
|00001f60| 3b 0d 09 72 65 74 75 72 | 6e 28 62 75 66 29 3b 0d |;..retur|n(buf);.|
|00001f70| 7d 0d 0d 63 68 61 72 20 | 2a 74 79 70 65 4e 61 6d |}..char |*typeNam|
|00001f80| 65 28 74 79 70 65 29 0d | 49 6e 74 31 36 09 74 79 |e(type).|Int16.ty|
|00001f90| 70 65 3b 0d 7b 0d 09 73 | 77 69 74 63 68 20 28 74 |pe;.{..s|witch (t|
|00001fa0| 79 70 65 29 20 7b 0d 09 | 63 61 73 65 20 42 59 54 |ype) {..|case BYT|
|00001fb0| 45 3a 0d 09 09 72 65 74 | 75 72 6e 28 22 42 79 74 |E:...ret|urn("Byt|
|00001fc0| 65 20 20 20 20 22 29 3b | 0d 09 09 62 72 65 61 6b |e ");|...break|
|00001fd0| 3b 0d 09 63 61 73 65 20 | 41 53 43 49 49 3a 0d 09 |;..case |ASCII:..|
|00001fe0| 09 72 65 74 75 72 6e 28 | 22 41 73 63 69 69 20 20 |.return(|"Ascii |
|00001ff0| 20 22 29 3b 0d 09 09 62 | 72 65 61 6b 3b 0d 09 63 | ");...b|reak;..c|
|00002000| 61 73 65 20 53 48 4f 52 | 54 3a 0d 09 09 72 65 74 |ase SHOR|T:...ret|
|00002010| 75 72 6e 28 22 53 68 6f | 72 74 20 20 20 22 29 3b |urn("Sho|rt ");|
|00002020| 0d 09 09 62 72 65 61 6b | 3b 0d 09 63 61 73 65 20 |...break|;..case |
|00002030| 4c 4f 4e 47 3a 0d 09 09 | 72 65 74 75 72 6e 28 22 |LONG:...|return("|
|00002040| 4c 6f 6e 67 20 20 20 20 | 22 29 3b 0d 09 09 62 72 |Long |");...br|
|00002050| 65 61 6b 3b 0d 09 63 61 | 73 65 20 52 41 54 49 4f |eak;..ca|se RATIO|
|00002060| 4e 41 4c 3a 0d 09 09 72 | 65 74 75 72 6e 28 22 52 |NAL:...r|eturn("R|
|00002070| 61 74 69 6f 6e 61 6c 22 | 29 3b 0d 09 09 62 72 65 |ational"|);...bre|
|00002080| 61 6b 3b 0d 09 7d 0d 7d | 0d 0d 70 61 64 28 62 75 |ak;..}.}|..pad(bu|
|00002090| 66 2c 20 6e 29 0d 63 68 | 61 72 09 2a 62 75 66 3b |f, n).ch|ar.*buf;|
|000020a0| 0d 69 6e 74 09 09 6e 3b | 0d 7b 0d 09 72 65 67 69 |.int..n;|.{..regi|
|000020b0| 73 74 65 72 20 63 68 61 | 72 09 2a 70 53 74 61 72 |ster cha|r.*pStar|
|000020c0| 74 2c 20 2a 70 45 6e 64 | 3b 0d 09 0d 09 70 45 6e |t, *pEnd|;....pEn|
|000020d0| 64 20 3d 20 62 75 66 20 | 2b 20 6e 3b 0d 09 70 53 |d = buf |+ n;..pS|
|000020e0| 74 61 72 74 20 3d 20 62 | 75 66 3b 0d 09 77 68 69 |tart = b|uf;..whi|
|000020f0| 6c 65 20 28 2a 70 53 74 | 61 72 74 20 21 3d 20 27 |le (*pSt|art != '|
|00002100| 5c 30 27 29 0d 09 09 70 | 53 74 61 72 74 2b 2b 3b |\0')...p|Start++;|
|00002110| 0d 09 77 68 69 6c 65 20 | 28 70 53 74 61 72 74 20 |..while |(pStart |
|00002120| 3c 3d 20 70 45 6e 64 29 | 20 7b 0d 09 09 2a 70 53 |<= pEnd)| {...*pS|
|00002130| 74 61 72 74 2b 2b 20 3d | 20 27 20 27 3b 0d 09 7d |tart++ =| ' ';..}|
|00002140| 0d 09 2a 70 53 74 61 72 | 74 20 3d 20 27 5c 30 27 |..*pStar|t = '\0'|
|00002150| 3b 0d 7d 0d 0d 75 6e 73 | 69 67 6e 65 64 20 73 68 |;.}..uns|igned sh|
|00002160| 6f 72 74 20 53 77 61 70 | 53 68 6f 72 74 42 79 74 |ort Swap|ShortByt|
|00002170| 65 73 28 73 29 0d 72 65 | 67 69 73 74 65 72 20 75 |es(s).re|gister u|
|00002180| 6e 73 69 67 6e 65 64 20 | 73 68 6f 72 74 20 73 3b |nsigned |short s;|
|00002190| 0d 7b 0d 09 73 20 3d 20 | 28 73 20 3e 3e 20 38 29 |.{..s = |(s >> 8)|
|000021a0| 20 7c 20 28 73 20 3c 3c | 20 38 29 3b 0d 09 72 65 | | (s <<| 8);..re|
|000021b0| 74 75 72 6e 28 73 29 3b | 0d 7d 0d 0d 75 6e 73 69 |turn(s);|.}..unsi|
|000021c0| 67 6e 65 64 20 6c 6f 6e | 67 20 53 77 61 70 4c 6f |gned lon|g SwapLo|
|000021d0| 6e 67 42 79 74 65 73 28 | 6c 29 0d 72 65 67 69 73 |ngBytes(|l).regis|
|000021e0| 74 65 72 20 75 6e 73 69 | 67 6e 65 64 20 6c 6f 6e |ter unsi|gned lon|
|000021f0| 67 20 6c 3b 0d 7b 0d 09 | 6c 20 3d 20 28 28 6c 20 |g l;.{..|l = ((l |
|00002200| 3e 3e 20 32 34 29 09 09 | 09 09 29 09 7c 0d 09 09 |>> 24)..|..).|...|
|00002210| 28 28 6c 20 3e 3e 20 20 | 38 29 20 26 20 30 78 30 |((l >> |8) & 0x0|
|00002220| 30 30 30 46 46 30 30 09 | 29 09 7c 0d 09 09 28 28 |000FF00.|).|...((|
|00002230| 6c 20 3c 3c 20 20 38 29 | 20 26 20 30 78 30 30 46 |l << 8)| & 0x00F|
|00002240| 46 30 30 30 30 09 29 09 | 7c 0d 09 09 28 28 6c 20 |F0000.).||...((l |
|00002250| 3c 3c 20 32 34 29 09 09 | 09 09 29 3b 0d 09 72 65 |<< 24)..|..);..re|
|00002260| 74 75 72 6e 28 6c 29 3b | 0d 7d 0d 0d 72 65 61 64 |turn(l);|.}..read|
|00002270| 42 79 74 65 28 66 64 2c | 20 62 79 74 65 42 75 66 |Byte(fd,| byteBuf|
|00002280| 29 0d 63 68 61 72 20 2a | 62 79 74 65 42 75 66 3b |).char *|byteBuf;|
|00002290| 0d 7b 0d 09 69 66 20 28 | 72 65 61 64 28 66 64 2c |.{..if (|read(fd,|
|000022a0| 20 62 79 74 65 42 75 66 | 2c 20 42 59 54 45 53 49 | byteBuf|, BYTESI|
|000022b0| 5a 45 29 20 21 3d 20 42 | 59 54 45 53 49 5a 45 29 |ZE) != B|YTESIZE)|
|000022c0| 20 7b 0d 09 09 66 70 72 | 69 6e 74 66 28 73 74 64 | {...fpr|intf(std|
|000022d0| 65 72 72 2c 20 22 25 73 | 3a 20 72 65 61 64 20 65 |err, "%s|: read e|
|000022e0| 72 72 6f 72 3a 20 25 73 | 5c 6e 22 2c 20 70 67 72 |rror: %s|\n", pgr|
|000022f0| 6d 2c 20 66 69 6c 65 6e | 61 6d 65 29 3b 0d 09 09 |m, filen|ame);...|
|00002300| 65 78 69 74 28 31 29 3b | 0d 09 7d 0d 7d 0d 0d 72 |exit(1);|..}.}..r|
|00002310| 65 61 64 53 68 6f 72 74 | 28 66 64 2c 20 73 68 6f |eadShort|(fd, sho|
|00002320| 72 74 42 75 66 29 0d 73 | 68 6f 72 74 20 2a 73 68 |rtBuf).s|hort *sh|
|00002330| 6f 72 74 42 75 66 3b 0d | 7b 0d 09 69 66 20 28 72 |ortBuf;.|{..if (r|
|00002340| 65 61 64 28 66 64 2c 20 | 73 68 6f 72 74 42 75 66 |ead(fd, |shortBuf|
|00002350| 2c 20 53 48 4f 52 54 53 | 49 5a 45 29 20 21 3d 20 |, SHORTS|IZE) != |
|00002360| 53 48 4f 52 54 53 49 5a | 45 29 20 7b 0d 09 09 66 |SHORTSIZ|E) {...f|
|00002370| 70 72 69 6e 74 66 28 73 | 74 64 65 72 72 2c 20 22 |printf(s|tderr, "|
|00002380| 25 73 3a 20 72 65 61 64 | 20 65 72 72 6f 72 3a 20 |%s: read| error: |
|00002390| 25 73 5c 6e 22 2c 20 70 | 67 72 6d 2c 20 66 69 6c |%s\n", p|grm, fil|
|000023a0| 65 6e 61 6d 65 29 3b 0d | 09 09 65 78 69 74 28 31 |ename);.|..exit(1|
|000023b0| 29 3b 0d 09 7d 0d 09 69 | 66 20 28 73 77 61 70 42 |);..}..i|f (swapB|
|000023c0| 79 74 65 73 29 0d 09 09 | 2a 73 68 6f 72 74 42 75 |ytes)...|*shortBu|
|000023d0| 66 20 3d 20 53 77 61 70 | 53 68 6f 72 74 42 79 74 |f = Swap|ShortByt|
|000023e0| 65 73 28 2a 73 68 6f 72 | 74 42 75 66 29 3b 0d 7d |es(*shor|tBuf);.}|
|000023f0| 0d 0d 72 65 61 64 4c 6f | 6e 67 28 66 64 2c 20 6c |..readLo|ng(fd, l|
|00002400| 6f 6e 67 42 75 66 29 0d | 6c 6f 6e 67 20 2a 6c 6f |ongBuf).|long *lo|
|00002410| 6e 67 42 75 66 3b 0d 7b | 0d 09 69 66 20 28 72 65 |ngBuf;.{|..if (re|
|00002420| 61 64 28 66 64 2c 20 6c | 6f 6e 67 42 75 66 2c 20 |ad(fd, l|ongBuf, |
|00002430| 4c 4f 4e 47 53 49 5a 45 | 29 20 21 3d 20 4c 4f 4e |LONGSIZE|) != LON|
|00002440| 47 53 49 5a 45 29 20 7b | 0d 09 09 66 70 72 69 6e |GSIZE) {|...fprin|
|00002450| 74 66 28 73 74 64 65 72 | 72 2c 20 22 25 73 3a 20 |tf(stder|r, "%s: |
|00002460| 72 65 61 64 20 65 72 72 | 6f 72 3a 20 25 73 5c 6e |read err|or: %s\n|
|00002470| 22 2c 20 70 67 72 6d 2c | 20 66 69 6c 65 6e 61 6d |", pgrm,| filenam|
|00002480| 65 29 3b 0d 09 09 65 78 | 69 74 28 31 29 3b 0d 09 |e);...ex|it(1);..|
|00002490| 7d 0d 09 69 66 20 28 73 | 77 61 70 42 79 74 65 73 |}..if (s|wapBytes|
|000024a0| 29 0d 09 09 2a 6c 6f 6e | 67 42 75 66 20 3d 20 53 |)...*lon|gBuf = S|
|000024b0| 77 61 70 4c 6f 6e 67 42 | 79 74 65 73 28 2a 6c 6f |wapLongB|ytes(*lo|
|000024c0| 6e 67 42 75 66 29 3b 0d | 7d 0d 0d 0d 72 65 61 64 |ngBuf);.|}...read|
|000024d0| 52 61 74 69 6f 6e 61 6c | 28 66 64 2c 20 72 61 74 |Rational|(fd, rat|
|000024e0| 42 75 66 29 0d 52 61 74 | 69 6f 6e 61 6c 20 2a 72 |Buf).Rat|ional *r|
|000024f0| 61 74 42 75 66 3b 0d 7b | 0d 09 69 66 20 28 72 65 |atBuf;.{|..if (re|
|00002500| 61 64 28 66 64 2c 20 72 | 61 74 42 75 66 2c 20 52 |ad(fd, r|atBuf, R|
|00002510| 41 54 53 49 5a 45 29 20 | 21 3d 20 52 41 54 53 49 |ATSIZE) |!= RATSI|
|00002520| 5a 45 29 20 7b 0d 09 09 | 66 70 72 69 6e 74 66 28 |ZE) {...|fprintf(|
|00002530| 73 74 64 65 72 72 2c 20 | 22 25 73 3a 20 72 65 61 |stderr, |"%s: rea|
|00002540| 64 20 65 72 72 6f 72 3a | 20 25 73 5c 6e 22 2c 20 |d error:| %s\n", |
|00002550| 70 67 72 6d 2c 20 66 69 | 6c 65 6e 61 6d 65 29 3b |pgrm, fi|lename);|
|00002560| 0d 09 09 65 78 69 74 28 | 31 29 3b 0d 09 7d 0d 09 |...exit(|1);..}..|
|00002570| 69 66 20 28 73 77 61 70 | 42 79 74 65 73 29 20 7b |if (swap|Bytes) {|
|00002580| 0d 09 09 72 61 74 42 75 | 66 2d 3e 6e 75 6d 65 72 |...ratBu|f->numer|
|00002590| 61 74 6f 72 20 3d 20 53 | 77 61 70 4c 6f 6e 67 42 |ator = S|wapLongB|
|000025a0| 79 74 65 73 28 72 61 74 | 42 75 66 2d 3e 6e 75 6d |ytes(rat|Buf->num|
|000025b0| 65 72 61 74 6f 72 29 3b | 0d 09 09 72 61 74 42 75 |erator);|...ratBu|
|000025c0| 66 2d 3e 64 65 6e 6f 6d | 69 6e 61 74 6f 72 20 3d |f->denom|inator =|
|000025d0| 20 53 77 61 70 4c 6f 6e | 67 42 79 74 65 73 28 72 | SwapLon|gBytes(r|
|000025e0| 61 74 42 75 66 2d 3e 64 | 65 6e 6f 6d 69 6e 61 74 |atBuf->d|enominat|
|000025f0| 6f 72 29 3b 0d 09 7d 0d | 7d 0d 0d 23 64 65 66 69 |or);..}.|}..#defi|
|00002600| 6e 65 20 4c 46 4d 54 53 | 49 5a 45 09 32 0d 23 64 |ne LFMTS|IZE.2.#d|
|00002610| 65 66 69 6e 65 09 4c 4d | 41 58 44 49 47 49 54 53 |efine.LM|AXDIGITS|
|00002620| 09 38 0d 0d 63 68 61 72 | 20 2a 67 65 74 68 65 78 |.8..char| *gethex|
|00002630| 28 76 61 6c 75 65 2c 20 | 73 69 7a 65 29 0d 69 6e |(value, |size).in|
|00002640| 74 09 09 09 09 09 09 73 | 69 7a 65 3b 0d 72 65 67 |t......s|ize;.reg|
|00002650| 69 73 74 65 72 20 75 6e | 73 69 67 6e 65 64 20 6c |ister un|signed l|
|00002660| 6f 6e 67 09 76 61 6c 75 | 65 3b 0d 7b 0d 09 72 65 |ong.valu|e;.{..re|
|00002670| 67 69 73 74 65 72 20 63 | 68 61 72 09 09 09 2a 70 |gister c|har...*p|
|00002680| 3b 0d 09 72 65 67 69 73 | 74 65 72 20 69 6e 74 09 |;..regis|ter int.|
|00002690| 09 09 69 3b 0d 09 73 74 | 61 74 69 63 20 63 68 61 |..i;..st|atic cha|
|000026a0| 72 09 09 09 09 62 75 66 | 5b 4c 46 4d 54 53 49 5a |r....buf|[LFMTSIZ|
|000026b0| 45 20 2b 20 4c 4d 41 58 | 44 49 47 49 54 53 20 2b |E + LMAX|DIGITS +|
|000026c0| 20 31 5d 3b 0d 09 73 74 | 61 74 69 63 20 63 68 61 | 1];..st|atic cha|
|000026d0| 72 09 09 09 09 66 6d 74 | 5b 4c 46 4d 54 53 49 5a |r....fmt|[LFMTSIZ|
|000026e0| 45 5d 20 3d 20 22 30 78 | 22 3b 0d 09 0d 09 69 66 |E] = "0x|";....if|
|000026f0| 20 28 28 73 69 7a 65 20 | 2a 20 32 29 20 3e 20 4c | ((size |* 2) > L|
|00002700| 4d 41 58 44 49 47 49 54 | 53 29 0d 09 09 72 65 74 |MAXDIGIT|S)...ret|
|00002710| 75 72 6e 28 22 23 23 23 | 23 23 23 23 23 22 29 3b |urn("###|#####");|
|00002720| 0d 09 70 20 3d 20 26 62 | 75 66 5b 28 73 69 7a 65 |..p = &b|uf[(size|
|00002730| 20 2a 20 32 29 20 2b 20 | 4c 46 4d 54 53 49 5a 45 | * 2) + |LFMTSIZE|
|00002740| 5d 3b 0d 09 2a 70 2d 2d | 20 3d 20 27 5c 30 27 3b |];..*p--| = '\0';|
|00002750| 09 09 09 09 09 09 09 2f | 2a 20 6e 75 6c 6c 20 74 |......./|* null t|
|00002760| 65 72 6d 69 6e 61 74 65 | 20 2a 2f 0d 09 77 68 69 |erminate| */..whi|
|00002770| 6c 65 20 28 76 61 6c 75 | 65 20 3e 20 30 29 20 7b |le (valu|e > 0) {|
|00002780| 09 09 09 09 09 09 2f 2a | 20 70 75 74 20 68 65 78 |....../*| put hex|
|00002790| 20 76 61 6c 20 61 74 20 | 65 6e 64 20 6f 66 20 62 | val at |end of b|
|000027a0| 75 66 66 65 72 20 2a 2f | 0d 09 09 2a 70 2d 2d 20 |uffer */|...*p-- |
|000027b0| 3d 20 68 65 78 28 76 61 | 6c 75 65 20 25 20 30 78 |= hex(va|lue % 0x|
|000027c0| 31 30 29 3b 0d 09 09 76 | 61 6c 75 65 20 2f 3d 20 |10);...v|alue /= |
|000027d0| 30 78 31 30 3b 0d 09 7d | 0d 09 66 6f 72 20 28 69 |0x10;..}|..for (i|
|000027e0| 20 3d 20 28 4c 46 4d 54 | 53 49 5a 45 20 2d 20 31 | = (LFMT|SIZE - 1|
|000027f0| 29 3b 20 69 20 3e 3d 20 | 30 20 3b 20 69 2d 2d 29 |); i >= |0 ; i--)|
|00002800| 09 2f 2a 20 70 72 65 70 | 65 6e 64 20 66 6f 72 6d |./* prep|end form|
|00002810| 61 74 20 2a 2f 0d 09 09 | 2a 70 2d 2d 20 3d 20 66 |at */...|*p-- = f|
|00002820| 6d 74 5b 69 5d 3b 0d 09 | 77 68 69 6c 65 20 28 70 |mt[i];..|while (p|
|00002830| 20 3e 3d 20 62 75 66 29 | 09 09 09 09 09 09 2f 2a | >= buf)|....../*|
|00002840| 20 70 75 74 20 69 6e 20 | 6c 65 61 64 69 6e 67 20 | put in |leading |
|00002850| 62 6c 61 6e 6b 73 20 2a | 2f 0d 09 09 2a 70 2d 2d |blanks *|/...*p--|
|00002860| 20 3d 20 27 20 27 3b 0d | 09 72 65 74 75 72 6e 28 | = ' ';.|.return(|
|00002870| 62 75 66 29 3b 0d 7d 0d | 0d 63 68 61 72 20 68 65 |buf);.}.|.char he|
|00002880| 78 28 76 61 6c 29 0d 7b | 0d 09 69 66 20 28 28 76 |x(val).{|..if ((v|
|00002890| 61 6c 20 3e 20 30 29 20 | 26 26 20 28 76 61 6c 20 |al > 0) |&& (val |
|000028a0| 3c 20 31 30 29 29 0d 09 | 09 72 65 74 75 72 6e 28 |< 10))..|.return(|
|000028b0| 76 61 6c 20 2b 20 27 30 | 27 29 3b 0d 09 65 6c 73 |val + '0|');..els|
|000028c0| 65 20 69 66 20 28 76 61 | 6c 20 3c 20 30 78 31 30 |e if (va|l < 0x10|
|000028d0| 29 0d 09 09 72 65 74 75 | 72 6e 28 76 61 6c 20 2d |)...retu|rn(val -|
|000028e0| 20 30 78 41 20 2b 20 27 | 41 27 29 3b 0d 09 65 6c | 0xA + '|A');..el|
|000028f0| 73 65 0d 09 09 72 65 74 | 75 72 6e 28 27 23 27 29 |se...ret|urn('#')|
|00002900| 3b 0d 7d 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |;.}.....|........|
|00002910| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002920| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002930| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002940| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002950| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002970| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002980| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00002990| ff fc 4e 5e 4e 75 c5 43 | 56 54 20 20 20 20 4e 56 |..N^Nu.C|VT NV|
|000029a0| 00 00 48 e7 20 00 20 2e | 00 12 22 2e 00 16 24 2e |..H. . .|.."...$.|
|000029b0| 04 74 64 2e 63 81 02 00 | 00 00 50 61 72 74 53 49 |.td.c...|..PartSI|
|000029c0| 54 78 00 00 00 00 00 00 | 00 00 00 01 69 4d 00 00 |Tx......|....iM..|
|000029d0| 00 00 50 61 72 74 53 49 | 54 78 00 00 00 00 00 00 |..PartSI|Tx......|
|000029e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029f0| 00 00 a9 80 21 33 00 00 | 00 00 00 00 01 7e 4c ee |....!3..|.....~L.|
|00002a00| 04 00 ff fc 4e 5e 4e 75 | cd 45 4d 43 50 59 20 20 |....N^Nu|.EMCPY |
|00002a10| 4e 56 00 00 48 e7 00 20 | 20 6e 00 08 22 6e 00 0c |NV..H.. | n.."n..|
|00002a20| 24 48 60 00 00 02 10 d9 | 66 00 ff fc 20 0a 4c ee |$H`.....|f... .L.|
|00002a30| 04 00 ff fc 4e 5e 4e 75 | d3 54 52 43 50 59 20 20 |....N^Nu|.TRCPY |
|00002a40| 4e 56 00 00 20 6e 00 08 | 22 48 52 89 60 00 00 02 |NV.. n..|"HR.`...|
|00002a50| 4a 18 66 00 ff fc 91 c9 | 20 08 4e 5e 4e 75 d3 54 |J.f.....| .N^Nu.T|
|00002a60| 52 4c 45 4e 20 20 4e 56 | 00 00 22 2e 00 08 70 41 |RLEN NV|.."...pA|
|00002a70| b0 81 6e 0a 70 5a b0 81 | 6d 04 70 e0 92 80 20 01 |..n.pZ..|m.p... .|
|00002a80| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 56 03 1a |...H..Mo|naco.V..|
|00002a90| 00 24 00 19 00 00 00 24 | 00 ac 00 19 00 00 00 09 |.$.....$|........|
|00002aa0| 00 a5 00 ac 7f ff 00 06 | 00 04 00 40 00 0c 01 4e |........|...@...N|
|00002ab0| 01 f8 00 40 00 0c 01 4e | 01 f8 9d ec 40 c2 00 00 |...@...N|....@...|
|00002ac0| 00 27 00 00 00 27 00 00 | 00 00 01 00 00 00 01 00 |.'...'..|........|
|00002ad0| 00 00 01 4c 00 00 00 4c | 00 00 00 32 00 01 65 68 |...L...L|...2..eh|
|00002ae0| 04 6a 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.j.....2|..MPSR..|
|00002af0| 00 0a 03 ed ff ff 00 00 | 00 00 00 02 67 d2 00 00 |........|....g...|
+--------+-------------------------+-------------------------+--------+--------+